package com.atguigu.daijia.order.controller;

import com.atguigu.daijia.common.result.Result;
import com.atguigu.daijia.model.entity.order.OrderMonitor;
import com.atguigu.daijia.model.entity.order.OrderMonitorRecord;
import com.atguigu.daijia.order.service.OrderMonitorService;
import io.swagger.v3.oas.annotations.Operation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/order/monitor")
@SuppressWarnings({"unchecked", "rawtypes"})
public class OrderMonitorController {
    @Autowired
    private OrderMonitorService orderMonitorService;

    /**
     * 只要开始代驾，司机端小程序就要录制司乘对话，直到代驾结束，才停止录音。
     *
     * 司机端小程序怎么录音呢？同声传译插件可以实现录音，并且把录音中的语音部分转换成文本。这是前端小程序实现的功能，我们只做了解。
     * @param orderMonitorRecord
     * @return
     */
    @Operation(summary = "保存订单监控记录数据")
    @PostMapping("/saveOrderMonitorRecord")
    public Result<Boolean> saveMonitorRecord(@RequestBody OrderMonitorRecord orderMonitorRecord) {
        return Result.ok(orderMonitorService.saveOrderMonitorRecord(orderMonitorRecord));
    }

    @Operation(summary = "根据订单id获取订单监控信息")
    @GetMapping("/getOrderMonitor/{orderId}")
    public Result<OrderMonitor> getOrderMonitor(@PathVariable Long orderId) {
        return Result.ok(orderMonitorService.getOrderMonitor(orderId));
    }

    /**
     * 我们必须对司乘之间的对话内容做监控，保障乘客人身安全是我们首要的任务。
     * 腾讯的数据万象服务可以审核文本内容，咱们要把这个功能利用起来。
     * 我们调用腾讯万象的接口，审核司乘之间的对话内容，看看是否包含色情或者暴力的成分。
     * 审核的结果咱们要更新到order_monitor数据表中，每个订单一条记录。
     * @param OrderMonitor
     * @return
     */
    //司机端小程序点击开始代驾，我们就可以初始化这条记录。下面我们保存订单接口、获取与修改实现了，后续要使用。
    @Operation(summary = "更新订单监控信息")
    @PostMapping("/updateOrderMonitor")
    public Result<Boolean> updateOrderMonitor(@RequestBody OrderMonitor OrderMonitor) {
        return Result.ok(orderMonitorService.updateOrderMonitor(OrderMonitor));
    }
}

